[not a bug]Possible Aimmode 2 bug

Bugs that have been resolved.

Moderator: Graf Zahl

Locked
User avatar
Deathsong12
Posts: 129
Joined: Mon Sep 05, 2005 22:31

[not a bug]Possible Aimmode 2 bug

Post by Deathsong12 »

I'm trying to replicate the behavior of Strife's Mauler, but with a sphere or hemisphere or projectiles instead of a ring. It functions as intended when hitting an actor or the floor, but hitting wall results in the wave projectiles failing to spawn. It may be due to some fault in my Decorate, but I don't think it is. In any case, the Decorate is here:

[spoiler]

Code: Select all

ACTOR DSMaul : Weapon 2004
{
    ConversationID 193
    Inventory.Icon "TRPDA0"
    Inventory.PickupMessage "You've found the 'Maul' Class Ion Cannon! (Slot 7)"
    Weapon.SelectionOrder 300
    Weapon.AmmoType1 "EnergyPod"
    Weapon.AmmoGive1 40
    Weapon.AmmoUse1 20
    Weapon.UpSound "Maul/Up"
    +BFG
    +NOAUTOFIRE
    States
    {
    Spawn:
      TRPD A -1
      Loop
    Select:
      MAUL A 1 A_Raise
      Loop
    Deselect:
      MAUL A 1 A_Lower
      Loop
    Ready:
      MAUL FGHA 6 A_WeaponReady
      Loop
    Fire:
      MAUL A 0 A_PlayWeaponSound ("Maul/Spread")
      BLSF A 5 Bright A_FireBullets (5,5,20,16,"DSMaulPuff",1)
      MAUL B 3 Bright
      MAUL CDE 2
      MAUL AH 7
      MAUL G 7 A_CheckReload
      Goto Ready
    AltFire:
      MAUL I 7 A_PlayWeaponSound ("Maul/Charge")
      MAUL JKL 7
      MAUL I 10
      MAUL J 10
      MAUL A 0 A_PlayWeaponSound ("Maul/Fire")
      BLSF A 10 Bright A_FireCustomMissile ("DSMaulTorpedo",0,1)
      MAUL B 10 Bright
      MAUL CDE 2
      Goto Ready
    }
}

ACTOR DSMaulPuff
{
   +NOBLOCKMAP
   +NOGRAVITY
   +PUFFONACTORS
   RenderStyle Add
   Scale 0.25
   DamageType Disintegrate
   States
   {
   Spawn:
     BUF2 A 1 Bright A_PlaySound ("Maul/Puff")
     BUF2 B 1 Bright A_SpawnDebris ("DSMaulSpark")
     BUF2 CDEFGHIJKLMNOPQRSTUVWXWYZ 1 Bright
     BUF3 ABC 1 Bright A_FadeOut
     Stop
   }
}

ACTOR DSMaulSpark : DSDaggerSpark
{
    Health 10
    States
    {
      TORP A 1
      TORP ABCDABCDABCD 8 A_FadeOut
      Stop
    }
}

ACTOR DSMaulTorpedo
{
   DeathSound "Maul/Impact"
   Speed 20
   Height 8
   Radius 13
   Damage 60
   PROJECTILE
   DamageType Disintegrate
   States
   {
   Spawn:
     TORP ABCD 4 A_SpawnDebris ("DSMaulSpark")
     Loop
   Death:
     //This is really complex, so I'm gonna divide it up. First is the equator, which has waves every 10 mapunits.
     THIT A 8 Bright A_SpawnDebris ("DSMaulSpark")
     THIT B 8 Bright A_SpawnDebris ("DSMaulSpark")
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,0,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,10,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,20,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,30,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,40,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,50,2,0)
     //2
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,60,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,70,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,80,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,90,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,100,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,110,2,0)
     //3
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,120,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,130,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,140,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,150,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,160,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,170,2,0)
     //4
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,180,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,190,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,200,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,210,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,220,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,230,2,0)
     //5
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,240,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,250,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,260,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,270,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,280,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,290,2,0)
     //6
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,300,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,310,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,320,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,330,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,340,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,350,2,0)
     //Bands 1 and -1, every 20 mapunits
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,0,2,20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,20,2,20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,40,2,20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,60,2,20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,80,2,20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,100,2,20)
     //2
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,120,2,20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,140,2,20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,160,2,20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,180,2,20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,200,2,20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,220,2,20)
     //3
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,240,2,20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,260,2,20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,280,2,20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,300,2,20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,320,2,20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,340,2,20)
     //-1
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,0,2,-20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,20,2,-20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,40,2,-20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,60,2,-20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,80,2,-20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,100,2,-20)
     //-2
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,120,2,-20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,140,2,-20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,160,2,-20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,180,2,-20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,200,2,-20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,220,2,-20)
     //-3
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,240,2,-20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,260,2,-20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,280,2,-20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,300,2,-20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,320,2,-20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,340,2,-20)
     //Bands 2 and -2. Every 40 mapunits
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,0,2,40)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,40,2,40)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,80,2,40)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,120,2,40)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,160,2,40)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,200,2,40)
     //2
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,240,2,40)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,280,2,40)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,320,2,40)
     //-1
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,0,2,-40)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,40,2,-40)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,80,2,-40)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,120,2,-40)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,160,2,-40)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,200,2,-40)
     //-2
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,240,2,-40)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,280,2,-40)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,320,2,-40)
     //Bands 3 and -3. Every 60 mapunits
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,0,2,60)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,60,2,60)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,120,2,60)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,180,2,60)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,240,2,60)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,300,2,60)
     //-1
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,0,2,-60)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,60,2,-60)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,120,2,-60)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,180,2,-60)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,240,2,-60)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,300,2,-60)
     //Bands 4 and -4. Every 90 mapunits
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,0,2,80)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,90,2,80)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,180,2,80)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,270,2,80)
     //-1
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,0,2,-80)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,90,2,-80)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,180,2,-80)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,270,2,-80)
     //Whew!
     THIT CDE 8 Bright A_SpawnDebris ("DSMaulSpark")
     Stop
     }
}

ACTOR DSMaulWave
{
   PROJECTILE
   +RIPPER
   Speed 35
   Damage 10
   Height 13
   Radius 13
   ReactionTime 3
   DamageType Disintegrate
   States
   {
   Spawn:
     TWAV A 9 Bright A_SpawnDebris ("DSMaulSpark")
     TWAV B 9 Bright A_SpawnDebris ("DSMaulSpark")
     TWAV C 9 Bright A_SpawnDebris ("DSMaulSpark")
     Goto Death
   Death:
     MWAV C 4 Bright A_FadeOut
     Stop
   }
}
[/spoiler]
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Post by Graf Zahl »

This is a collision detection problem. The standard missile spawning functions check whether the spawned projectile is inside a wall. With the setup you are using that is always the case. All you can try is making the secondary projectile's radius smaller.
Locked

Return to “Closed Bugs”