MantisBT - Zandronum
View Issue Details
0003343Zandronum[All Projects] Bugpublic2017-11-20 10:522017-11-20 16:26
Borg 
Torr Samaho 
normalmajoralways
assignedopen 
MicrosoftWindowsXP/Vista/7
3.0 
 
0003343: BUMPSPECIAL does not work
Sorry for the attitude but.... such things get on my nerves.
Skulltag needed it for some CTF stuff or whatever.
But it doesnt mean u cannot fix it correctly, like
do checking for specific actors only, or even introduce
Skulltag only flag like TFLAG flag...

Please fix...
    /* [BB] Zandronum keeps Skulltag's BUMPSPECIAL implementation for now.
    // Check for MF6_BUMPSPECIAL
    // By default, only players can activate things by bumping into them
    if ((thing->flags6 & MF6_BUMPSPECIAL) && ((tm.thing->player != NULL)
        || ((thing->activationtype & THINGSPEC_MonsterTrigger) && (tm.thing->flags3 & MF3_ISMONSTER))
        || ((thing->activationtype & THINGSPEC_MissileTrigger) && (tm.thing->flags & MF_MISSILE))
        ) && (level.maptime > thing->lastbump)) // Leave the bumper enough time to go away
    {
        if (P_ActivateThingSpecial(thing, tm.thing))
            thing->lastbump = level.maptime + TICRATE;
    }
    */
No tags attached.
Issue History
2017-11-20 10:52BorgNew Issue
2017-11-20 13:25Edward-sanNote Added: 0018901
2017-11-20 13:25Edward-sanAssigned To => Edward-san
2017-11-20 13:25Edward-sanStatusnew => feedback
2017-11-20 15:00BorgNote Added: 0018903
2017-11-20 15:00BorgStatusfeedback => assigned
2017-11-20 16:26Edward-sanAssigned ToEdward-san => Torr Samaho

Notes
(0018901)
Edward-san   
2017-11-20 13:25   
Which maps are affected by this? Can you provide an example of this?
(0018903)
Borg   
2017-11-20 15:00   
Nothing is affected, because it is this way from ages (Skulltag 0.98d probably?)
I working on a mod and wanted to use BUMPSPECIAL and found it not working at all. So I fast looked up into sources and got suprised like hell..

No wonder, ppl use such stuff to workarond it.
Script works every 15-20 ticks via ACS_ExecuteAlways..
And so much care about CPU and bandwidth usage i hear...

// [Dusk] {9/27/12} Razor wire functionality
script SC_RAZORWIRE (int myteam) {
    for (int i = 0; i < MAXPLAYERS; i++) {
        if (!PlayerInGame (i) ||
            GetPlayerInfo (i, PLAYERINFO_TEAM) == myteam ||
            GetActorHealth (3800+i) <= 0)
            continue;
        
        int dist = AproxDistance (0, 3800+i);
        if (dist > 64.0)
            continue;
        
        Thing_Damage (3800+i, 5, 0);
        GiveActorInventory (3800+i, "RazorWireSlow", 1);
    }
}