×
Меню
Индекс
 

iDispTresspass

 
iDispTresspass - модификатор падения отношения к игроку, когда NPC  стало известно о совершенном преступлении игроком.
 
Значение по умолчанию: -20
 
Код из OpenMW:
 
for each observer in the cell:      # NPCs only, range unknown
    alarmTerm = 0.01 * observer.alarm
 
    if crime is killing:
        fightTerm, dispTerm = iFightKilling, iDispKilling
    if crime is assault, observed:
        fightTerm, dispTerm = iFightAttacking, iDispAttackMod
    if crime is assault, victim:
        fightTerm, dispTerm = iFightAttack, fDispAttacking
    if crime is theft:
        fightTerm, dispTerm = fFightStealing * stack value, fDispStealing * stack value
    if crime is pickpocket, observed:
        fightTerm, dispTerm = iFightPickpocket, fDispPickpocketMod
    if crime is pickpocket, victim:
        fightTerm, dispTerm = 4 * iFightPickpocket, fDispPickpocketMod
        if alarmTerm <= 0: alarmTerm = 1.0
    if crime is trespass:
        fightTerm, dispTerm = iFightTrespass, iDispTresspass
 
    if observer is not victim or observer.isGuard:
        dispTerm *= alarmTerm
 
    fightTerm += fFightDispMult * (50 - dispTerm)
    x = iFightDistanceBase - fFightDistanceMultiplier * distance(player, observer)
    fightTerm = alarmTerm * (fightTerm + x)
 
    if observer.fight + fightTerm > 100:
        fightTerm = 100 - observer.fight
    fightTerm = max(0, fightTerm)
 
    observer.fight += int(fightTerm)
    observer.disposition += int(dispTerm)
 
    - lots more crime system stuff occurs here -
 
    if (observer.alarm < 100 or not observer.isGuard) and observer.fight < 100:
        observer.fight is reset to the original value
        if observer is not victim: observer.disposition is reset to the original value