If (MeleeSound) A_StartSound(MeleeSound, CHAN_WEAPON) Įlse A_StartSound( weapon. GiveBody ( int(actualdamage * lifesteal), lifestealmax) SaveAmount *= int(actualdamage * lifesteal) Let armorbonus = BasicArmorBonus(Spawn(armorbonustype)) Īrmorbonus. If (MissSound) A_StartSound(MissSound, CHAN_WEAPON) = LineAttack (angle, range, pitch, damage, 'Melee ', pufftype, puffFlags, t) Int puffFlags = LAF_ISMELEEATTACK | ((flags & CPF_NORANDOMPUFFZ) ? LAF_NORANDOMPUFFZ : 0) linetarget & weapon & stateinfo != null & stateinfo. only use ammo when actually hitting something! Pitch = AimLineAttack (angle, range, t, 0., ALF_CHECK3D) That can be done with A_CheckIfInventoryĪction void A_CustomPunch( int damage, bool norandom = false, int flags = CPF_USEAMMO, class pufftype = "BulletPuff ", double range = 0, double lifesteal = 0, int lifestealmax = 0, class armorbonustype = "ArmorBonus ", sound MeleeSound = 0, sound MissSound = " ")Īngle = self. the angle from the resulting direction. This original implementation is to aim straight ahead and then offset If (realmisl & flags & FPF_TRANSFERTRANSLATION) Y, spawnheight, t, false, (flags & FPF_NOAUTOAIM) != 0) = SpawnPlayerMissile (missiletype, shootangle, ofs. If (flags & FPF_AIMATANGLE) shootangle += angle Vector2 ofs = AngleToVector(ang, spawnofs_xy) If (useammo & weapon & stateinfo != null & stateinfo. If (numbullets missiletype, double angle = 0, bool useammo = true, double spawnofs_xy = 0, double spawnheight = 0, int flags = 0, double pitch = 0) So use the angle and pitch we passed instead. Arbitary portals will make angle and pitch calculations unreliable. Puff = LineAttack(bangle, range, bslope, 0, 'Hitscan ', pufftype, laflags | LAF_NOINTERACT, t) ĪimBulletMissile(proj, puff, flags, temp, false) Vector2 ofs = AngleToVector(ang, Spawnofs_xy) Īctor proj = SpawnPlayerMissile(missile, bangle, ofs. Let puff = LineAttack(bangle, range, bslope, damage, 'Hitscan ', pufftype, laflags, t) If (pufftype = NULL) pufftype = 'BulletPuff ' Ī_StartSound( weapon. If (!(flags & FBF_NOPITCH)) bslope = BulletSlope() If (range = 0) range = PLAYERMISSILERANGE If ((flags & FBF_USEAMMO) & weapon & stateinfo != null & stateinfo. Int laflags = (flags & FBF_NORANDOMPUFFZ)? LAF_NORANDOMPUFFZ : 0 -Īction void A_FireBullets( double spread_xy, double spread_z, int numbullets, int damageperbullet, class pufftype = "BulletPuff ", int flags = 1, double range = 0, class missile = null, double Spawnheight = 32, double Spawnofs_xy = 0) mStateType = STATE_Psprite & player != null & player. Resets the counter for the above function However, don't reload if we're out of ammo. Go back to the refire frames, instead of continuing on to the reload frames. ReloadCounter + 1) % count Įlse // 0 % 1 = 1? So how do we check if the weapon was never fired? We should only do this when we're not incrementing the counter though. If (!dontincrement || ReloadCounter != 0) mStateType != STATE_Psprite || player = null || player. bAltFire, false, true))Īction state A_CheckForReload( int count, statelabel jump, bool dontincrement = false) To update, just run git pull.//=Īction state A_JumpIfNoAmmo(statelabel label) Git clone method, can update - Install Git and run git clone.ZIP download method, no updates - Select "Code" and "Download ZIP", then rename Sonic-LockandLoad-edge.zip to Sonic-LockandLoad-edge.pk3.Sonic: Lock & Load v1.4 "Horizons" is on its way! Can't wait for it, and sick of the Final Final Demo? If you don't mind unfinished stuff, you can go ahead to the GitHub repository and download the most recent bleeding edge version, then run with GZDoom and have fun! You can buy DOOM II on Steam or use Freedoom: Phase 2. However, it aims to provide an extremely fun and thrilling experience reminiscent of old-school shooters, as well as their modern-day revivals. Sonic: Lock & Load is not fully completed yet, and development is progressing slowly. It also features elements from other GZDoom mods and retro FPS games. It draws inspiration from Sonic games, as well as titles like Sonic Robo Blast 2, ULTRAKILL and DOOM Eternal. Sonic: Lock & Load is a hyper-fast, action packed first-person shooter based on the Sonic the Hedgehog series of games and built on GZDoom.
0 Comments
Leave a Reply. |