Removing the xp bonus from a unit?

Genyuumaru

New Member
Reaction score
15
I want a unit (hero) not to give ANY xp when beeing killed.

So far, removing the unit upon death and setting it's level to 0 didn't help at all. Any suggestions?

Edit: It's impossible with easy triggers (setting the xp to 0% when the unit's killed, saving heroes xp upon the unit's death to a variable, waiting a bit and setting his xp to the variable). I don't realy want to save his xp every 0.01-0.02 seconds...
 

dannyboydude

Ultra Cool Member
Reaction score
33
i found this out when i was messing with gui converted jass

JASS:
call SetPlayerHandicapXP(Player(0), 0.00)
    call SetPlayerHandicapXP(Player(1), 0.00)
    call SetPlayerHandicapXP(Player(2), 0.00)
    call SetPlayerHandicapXP(Player(3), 0.00)
    call SetPlayerHandicapXP(Player(4), 0.00)
    call SetPlayerHandicapXP(Player(5), 0.00)
    call SetPlayerHandicapXP(Player(6), 0.00)
    call SetPlayerHandicapXP(Player(8), 0.00)
    call SetPlayerHandicapXP(Player(9), 0.00)
    call SetPlayerHandicapXP(Player(10), 0.00)
    call SetPlayerHandicapXP(Player(11), 0.00)
    call SetPlayerHandicapXP(Player(12), 0.00)
    call SetPlayerHandicapXP(Player(13), 0.00)
    call SetPlayerHandicapXP(Player(14), 0.00)
    call SetPlayerHandicapXP(Player(15), 0.00)


it sets the players xp gain rate to 0
and you can make your own exp trigger off of that

ive used that system before in some rpg's
but it works , if you want the rest of the exp gain trigger just ask
 

Genyuumaru

New Member
Reaction score
15
I want a unit (hero) not to give ANY xp when beeing killed.

when beeing killed.

beeing killed.

beeing killed.

beeing killed.
beeing killed.
beeing killed.
beeing killed.

Not! I repeat, NOT! Not when killING, but when BEEING KILLED (not to give any XP to the killer).

That means:
>> I << kill the unit. >> I << don't get any xp from killing it.

Easy as that ^^
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
change the level (in the object editor 'unit level') to 0. you got to hold shift down to set it to 0.

the unit level is responsible for the amount of xp a unit gives upon death, i dunno if it will give no exp when its level is 0 but its worth a try.
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
Originally Posted by Genyuumaru View Post
So far, removing the unit upon death and setting it's level to 0 didn't help at all. Any suggestions?

Thought you set the hero level of the fallen hero to 0 when died, hm ok how about this:
Code:
Untitled Trigger 001
    Events
        Unit - A unit Is attacked
    Conditions
        (Unit-type of (Attacked unit)) Equal to 'YourUnit'
    Actions
        Set Exp[(Player number of (Owner of (Attacking unit)))] = (Hero experience of (Attacking unit))

Code:
Untitled Trigger 002
    Events
        Unit - A unit Dies
    Conditions
        (Unit-type of (Dying unit)) Equal to 'YourUnit'
    Actions
        Hero - Set (Killing unit) experience to Exp[(Player number of (Owner of (Killing unit)))], Hide level-up graphics
'YourUnit' = Type of unit you want to give no exp upon death

dunno if it works when you raise a level by killing that guy, or if you are using more then 1 hero per player.
 

Genyuumaru

New Member
Reaction score
15
I ment I set the unit's level to 0 in the object editor (and y, I used shift).

Your triggers seem fine, but It's bad that the hero will lose any xp gotten between the moment he attacked and when the unit died.

Also, heroes have spells, but that can be triggered too. Anyway I think saving xp every 0.02 seconds would be better, but I'm still open for suggestions.

And there are also situations when you kill 2 units at the same time (with a spell).
 

Sirroelivan

Gunnerkrigg Court
Reaction score
95
Just set the experience gained of hero to zero, and add experience via triggers.

Disable exp for specific unit

Code:
Trigger
    Events
    Conditions
    Actions
        Hero - Disable experience gain for (Triggering unit)

Or for all heroes of player

Code:
Trigger
    Events
    Conditions
    Actions
        Hero - Make Player 1 (Red) Heroes gain 0.00% experience from future kills

And then use a trigger like this for the experience gained.

Code:
Experience
    Events
        Unit - A unit Dies
    Conditions
        ((Killing unit) is A Hero) Equal to True
        ((Dying unit) is A Hero) Equal to False
    Actions
        Set Point = (Position of (Dying unit))
        Set UnitGroup = (Units within 1200.00 of Point matching ((((Matching unit) is A Hero) Equal to True) and (((Matching unit) belongs to an ally of (Owner of (Killing unit))) Equal to True)))
        Set Int_Temp = (Number of units in UnitGroup)
        Unit Group - Pick every unit in UnitGroup and do (Actions)
            Loop - Actions
                Hero - Add (((Level of (Dying unit)) x 100) / Int_Temp) experience to (Picked unit), Show level-up graphics
        Custom script:   call RemoveLocation(udg_Point)
        Custom script:   call DestroyGroup(udg_UnitGroup)

Didn't know how much exp is given per lvl so just took a level factor of 100, it's probably less.
 

Genyuumaru

New Member
Reaction score
15
I thought about that, but I REALY don't want to do that, because xp is also given from creeps (it's an AoS). Well, I guess it's impossible ><.

I don't want the xp to be triggered -_- (completely)
 

Sirroelivan

Gunnerkrigg Court
Reaction score
95
The problem is that xp isn't only given to the killing unit, but also to nearby allied units. So it's hard to check which units got xp and how much.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top