Add ass/ball kill oneliner variants.
This commit is contained in:
parent
e4bcb33a10
commit
24d8772796
7 changed files with 42 additions and 24 deletions
|
|
@ -420,8 +420,8 @@ SWWM_SUBS_DEFAULT_ASSKILL1 = "It's ASS time!";
|
|||
SWWM_SUBS_DEFAULT_ASSKILL2 = "Putting the ASS in mASSacre!";
|
||||
// Lead ball crit
|
||||
SWWM_SUBS_DEFAULT_NBALLSKILL = "2";
|
||||
SWWM_SUBS_DERFAULT_BALLSKILL1 = "Dangerous Ball Action!";
|
||||
SWWM_SUBS_DERFAULT_BALLSKILL2 = "Be careful playing with your balls, lads!";
|
||||
SWWM_SUBS_DEFAULT_BALLSKILL1 = "Dangerous Ball Action!";
|
||||
SWWM_SUBS_DEFAULT_BALLSKILL2 = "Be careful playing with your balls, lads!";
|
||||
// Explosion kill
|
||||
SWWM_SUBS_DEFAULT_NBLAST = "6";
|
||||
SWWM_SUBS_DEFAULT_BLAST1 = "Bang!";
|
||||
|
|
|
|||
|
|
@ -377,8 +377,8 @@ SWWM_SUBS_DEFAULT_ASSKILL1 = "¡Es hora del CULO!";
|
|||
SWWM_SUBS_DEFAULT_ASSKILL2 = "¡Masacrando con las nalgas!";
|
||||
// Lead ball crit
|
||||
SWWM_SUBS_DEFAULT_NBALLSKILL = "2";
|
||||
SWWM_SUBS_DERFAULT_BALLSKILL1 = "¡Peligrosa Acción de Pelotas!";
|
||||
SWWM_SUBS_DERFAULT_BALLSKILL2 = "¡Cuidado al jugar con vuestras pelotas, chavales!";
|
||||
SWWM_SUBS_DEFAULT_BALLSKILL1 = "¡Peligrosa Acción de Pelotas!";
|
||||
SWWM_SUBS_DEFAULT_BALLSKILL2 = "¡Cuidado al jugar con vuestras pelotas, chavales!";
|
||||
// Explosion kill
|
||||
SWWM_SUBS_DEFAULT_NBLAST = "6";
|
||||
SWWM_SUBS_DEFAULT_BLAST1 = "¡Bang!";
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
[default]
|
||||
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r25 \cu(Tue 12 Apr 17:06:20 CEST 2022)\c-";
|
||||
SWWM_SHORTVER="\cw1.3pre r25 \cu(2022-04-12 17:06:20)\c-";
|
||||
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r26 \cu(Tue 12 Apr 17:49:07 CEST 2022)\c-";
|
||||
SWWM_SHORTVER="\cw1.3pre r26 \cu(2022-04-12 17:49:07)\c-";
|
||||
|
|
|
|||
|
|
@ -137,11 +137,11 @@ extend Class SWWMHandler
|
|||
{
|
||||
if ( (e.DamageSource.bISMONSTER || e.DamageSource.player || (e.DamageSource is 'ScriptedMarine')) && (e.Thing == players[consoleplayer].mo) && (e.Thing.Health > 0) )
|
||||
{
|
||||
if ( !lastcombat || (gametic > lastcombat+40) )
|
||||
if ( !lastcombat || (gametic > lastcombat+20) )
|
||||
{
|
||||
if ( e.Thing.IsFriend(e.DamageSource) )
|
||||
lastcombat = AddOneliner("friendhit",1,10);
|
||||
else if ( (!lastcombat || (gametic > lastcombat+180)) && !Random[DemoLines](0,(e.DamageSource.bBOSS||e.DamageSource.FindInventory("BossMarker"))?1:4) && !SWWMHDoomHandler.IsCuteGirl(e.DamageSource) ) // [HDoom] don't shout at the girls
|
||||
else if ( (!lastcombat || (gametic > lastcombat+90)) && !Random[DemoLines](0,(e.DamageSource.bBOSS||e.DamageSource.FindInventory("BossMarker"))?1:4) && !SWWMHDoomHandler.IsCuteGirl(e.DamageSource) ) // [HDoom] don't shout at the girls
|
||||
lastcombat = AddOneliner("gethit",1,15);
|
||||
}
|
||||
highesttic = gametic;
|
||||
|
|
@ -152,7 +152,7 @@ extend Class SWWMHandler
|
|||
// make sure it's not a moth, because otherwise they won't shut up about accidentally hurting them (it happens a lot)
|
||||
if ( e.Thing.IsFriend(e.DamageSource) && !(e.Thing is 'LampMoth') )
|
||||
{
|
||||
if ( !lastcombat || (gametic > lastcombat+40) )
|
||||
if ( !lastcombat || (gametic > lastcombat+20) )
|
||||
lastcombat = AddOneliner("hitfriend",1,10);
|
||||
highesttic = gametic;
|
||||
}
|
||||
|
|
@ -176,12 +176,22 @@ extend Class SWWMHandler
|
|||
if ( src == players[consoleplayer].mo )
|
||||
{
|
||||
highesttic = gametic;
|
||||
if ( !lastcombat || (gametic > lastcombat+40) )
|
||||
if ( !lastcombat || (gametic > lastcombat+20) )
|
||||
{
|
||||
if ( e.Thing.IsFriend(src) )
|
||||
lastcombat = AddOneliner("friendkill",1,5);
|
||||
else if ( (!lastcombat || (gametic > lastcombat+120)) && !Random[DemoLines](0,(e.Thing.bBOSS||e.Thing.FindInventory("BossMarker"))?1:4) && !SWWMHDoomHandler.IsCuteGirl(e.Thing) ) // [HDoom] don't shout at the girls
|
||||
lastcombat = AddOneliner("scorekill",1,15);
|
||||
else if ( (!lastcombat || (gametic > lastcombat+50)) && !SWWMHDoomHandler.IsCuteGirl(e.Thing) ) // [HDoom] don't shout at the girls
|
||||
{
|
||||
int lc = 0;
|
||||
if ( !Random[DemoLines](0,(e.Thing.bBOSS||e.Thing.FindInventory("BossMarker"))?1:2) && (e.DamageType == 'CriticalConcussion') ) lc = AddOneliner("ballskill",1,15);
|
||||
else if ( !Random[DemoLines](0,(e.Thing.bBOSS||e.Thing.FindInventory("BossMarker"))?2:5) && (e.DamageType == 'Buttslam') ) lc = AddOneliner("asskill",1,15);
|
||||
if ( !lc )
|
||||
{
|
||||
if ( !Random[DemoLines](0,(e.Thing.bBOSS||e.Thing.FindInventory("BossMarker"))?1:4) )
|
||||
lastcombat = AddOneliner("scorekill",1,15);
|
||||
}
|
||||
else lastcombat = lc;
|
||||
}
|
||||
}
|
||||
}
|
||||
int pnum = src.PlayerNumber();
|
||||
|
|
|
|||
|
|
@ -87,6 +87,8 @@ Class Demolitionist : PlayerPawn
|
|||
|
||||
int invwipe; // inventory wipe flags for next level
|
||||
|
||||
transient bool ingivecheat;
|
||||
|
||||
Property DashFuel : dashfuel;
|
||||
|
||||
Default
|
||||
|
|
@ -296,6 +298,7 @@ Class Demolitionist : PlayerPawn
|
|||
override void CheatGive( String name, int amount )
|
||||
{
|
||||
if ( !player.mo || (player.health <= 0) ) return;
|
||||
ingivecheat = true;
|
||||
int giveall = (name~=="everything")?ALL_YESYES:(name~=="all")?ALL_YES:ALL_NO;
|
||||
if ( giveall )
|
||||
{
|
||||
|
|
@ -326,10 +329,12 @@ Class Demolitionist : PlayerPawn
|
|||
{
|
||||
if ( CheckLocalView() )
|
||||
Console.Printf("'%s' is not a valid inventory item",name);
|
||||
ingivecheat = false;
|
||||
return;
|
||||
}
|
||||
GiveInventory(type,amount,true);
|
||||
}
|
||||
ingivecheat = false;
|
||||
}
|
||||
override String GetObituary( Actor victim, Actor inflictor, Name mod, bool playerattack )
|
||||
{
|
||||
|
|
@ -2716,7 +2721,7 @@ Class Demolitionist : PlayerPawn
|
|||
// add lore if any
|
||||
SWWMLoreLibrary.Add(player,cn);
|
||||
// weapon get oneliner
|
||||
if ( (item is 'Weapon') && !(item is 'SWWMGesture') && !(item is 'SWWMItemGesture') && mystats && !mystats.GotWeapon(Weapon(item).GetClass()) && CheckLocalView() )
|
||||
if ( (item is 'Weapon') && !(item is 'SWWMGesture') && !(item is 'SWWMItemGesture') && mystats && !mystats.GotWeapon(Weapon(item).GetClass()) && (player == players[consoleplayer]) && !ingivecheat )
|
||||
{
|
||||
if ( (item is 'SWWMWeapon') && (SWWMWeapon(item).GetLine != "") )
|
||||
{
|
||||
|
|
@ -2735,14 +2740,17 @@ Class Demolitionist : PlayerPawn
|
|||
else Console.Printf(StringTable.Localize("$SWWM_FINDKEYREM"),player.GetUserName(),item.GetTag(),score);
|
||||
SWWMCredits.Give(player,score);
|
||||
SWWMScoreObj.Spawn(100,player.mo.Vec3Offset(0,0,Height/2));
|
||||
if ( !Random[DemoLines](0,5) &&
|
||||
((item.GetClass() == 'RedSkull') || (item.GetClass() == 'YellowSkull')
|
||||
|| (item.GetClass() == 'BlueSkull') || (item.GetClassName() == "PurpleSkull")) )
|
||||
if ( !ingivecheat )
|
||||
{
|
||||
if ( !SWWMHandler.AddOneliner("skullget",2) )
|
||||
SWWMHandler.AddOneliner("keyget",2);
|
||||
if ( !Random[DemoLines](0,5) &&
|
||||
((item.GetClass() == 'RedSkull') || (item.GetClass() == 'YellowSkull')
|
||||
|| (item.GetClass() == 'BlueSkull') || (item.GetClassName() == "PurpleSkull")) )
|
||||
{
|
||||
if ( !SWWMHandler.AddOneliner("skullget",2) )
|
||||
SWWMHandler.AddOneliner("keyget",2);
|
||||
}
|
||||
else SWWMHandler.AddOneliner("keyget",2);
|
||||
}
|
||||
else SWWMHandler.AddOneliner("keyget",2);
|
||||
// share all keys in mp
|
||||
for ( int i=0; i<MAXPLAYERS; i++ )
|
||||
{
|
||||
|
|
@ -2758,14 +2766,14 @@ Class Demolitionist : PlayerPawn
|
|||
// add collectible to stats
|
||||
if ( item is 'SWWMCollectible' )
|
||||
{
|
||||
SWWMHandler.AddOneliner(SWWMCollectible(item).GetLine,2);
|
||||
if ( !ingivecheat ) SWWMHandler.AddOneliner(SWWMCollectible(item).GetLine,2);
|
||||
if ( !mystats ) return;
|
||||
let cls = item.GetClass();
|
||||
if ( (mystats.ownedcollectibles.Size() > 0) && (mystats.ownedcollectibles.Find(cls) < mystats.ownedcollectibles.Size()) ) return;
|
||||
mystats.ownedcollectibles.Push(cls);
|
||||
}
|
||||
// yorick
|
||||
if ( item is 'PuzzSkull' && mystats && !mystats.gotyorick )
|
||||
if ( (item is 'PuzzSkull') && mystats && !mystats.gotyorick && !ingivecheat )
|
||||
{
|
||||
mystats.gotyorick = true;
|
||||
SWWMHandler.AddOneliner("skullget",2);
|
||||
|
|
|
|||
|
|
@ -1197,7 +1197,7 @@ Class TheBall : Actor
|
|||
}
|
||||
SWWMUtility.DoKnockback(victim,vel.unit(),slamforce);
|
||||
bool bleeds = (victim && !victim.bINVULNERABLE && !victim.bNOBLOOD && !victim.bDORMANT && is_schutt);
|
||||
int newdmg = victim.DamageMobj(self,target,dmg,'Concussion',crit?(DMG_THRUSTLESS|DMG_FOILINVUL):DMG_THRUSTLESS); // crits ignore invulnerability
|
||||
int newdmg = victim.DamageMobj(self,target,dmg,crit?'CriticalConcussion':'Concussion',crit?(DMG_THRUSTLESS|DMG_FOILINVUL):DMG_THRUSTLESS); // crits ignore invulnerability
|
||||
Vector3 dir = -vel.unit();
|
||||
// slam jam
|
||||
if ( bleeds )
|
||||
|
|
@ -1223,7 +1223,7 @@ Class TheBall : Actor
|
|||
}
|
||||
// make it so the crit does not propagate to friendlies unless we bonked a friend (you monster!)
|
||||
if ( crit )
|
||||
SWWMUtility.DoExplosion(self,dmg/2,25000,150,80,(victim.isFriend(target))?0:DE_NOHURTFRIEND,'',target,DMG_FOILINVUL);
|
||||
SWWMUtility.DoExplosion(self,dmg/2,25000,150,80,(victim.isFriend(target))?0:DE_NOHURTFRIEND,crit?'CriticalConcussion':'Concussion',target,DMG_FOILINVUL);
|
||||
if ( crit && victim && (victim.Health <= 0) && (victim.bBOSS || victim.FindInventory("BossMarker")) && target )
|
||||
SWWMUtility.MarkAchievement("clonk",target.player);
|
||||
// only rip shootables
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ Class ExplodiumGun : SWWMWeapon
|
|||
Owner.player.PendingWeapon = SisterWeapon;
|
||||
// add the oneliner
|
||||
let demo = Demolitionist(Owner);
|
||||
if ( demo && demo.mystats && !demo.mystats.GotWeapon(SisterWeapon.GetClass()) && Owner.CheckLocalView() )
|
||||
if ( demo && demo.mystats && !demo.mystats.GotWeapon(SisterWeapon.GetClass()) && (Owner.player == players[consoleplayer]) && !demo.ingivecheat )
|
||||
SWWMHandler.AddOneliner(SWWMWeapon(SisterWeapon).GetLine,2);
|
||||
item.bPickupGood = true;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue