用户登录
|忘记密码

新用户注册

登录

其他登陆



喊叫使用magicka-魔术师喊叫

作者:EternalVexation
发布:LUOHUISHU98
发布日期:2020-05-19 16:27:57
更新时间:2020-05-19 16:27:57
头像
2000
893 人收藏
3099 次下载
8066 次浏览
1.0
上古卷轴5:重置版
本地下载 高速下载 需要优先下载下载器,50%提速

描述:
此模式最适合用于法师或一般Magicka强化角色的构建。

此模块添加一个小功率任何一只手都可以装备,法术将移除(几乎,设定冷却时间为5秒,防止垃圾邮件;)呼喊冷却和减少Magicka替代。

马奇卡和/或耐力消耗的数量显示为左上角的通知。
如果你没有足够的Magicka,使用的Magicka就少了,但是精力会被全部的成本消耗掉。
如果你缺乏马奇卡和耐力,它们都会被全部成本消耗殆尽,以及你目前健康状况的一半。杀不死). 
如果你想降低成本,你可以等待定时器自然降低,然后施放较小的能量,或者使用魔法/物品来减少呼叫冷却时间(例如塔洛斯的护身符)。

使用控制台命令添加拼写>加法7e002849获得BaseID>Help“Magicka频道的呼喊”

有一个环当它被装备的时候,它会给你更小的力量,当它没有装备的时候,它会移除它。
圆环位于高霍思格中心房间的一个箱子里。
> 附加项7e0012c3 1获得BaseID>Help“Magicka频道呼喊声”

我还添加了一个托姆(这两个变体纯粹是审美的)“呐喊咒语的秘密”,它出现在世界上(10+级),作为对亡灵巫师的随机掠夺,而不是法术体(很少),而在亡灵巫师中,老板在最后(普通)掠夺胸部。
当你第一次读这本书时,它会给你更小的力量和1条蜻蜓灵魂。先读后读,只会给人一颗蜻蜓的灵魂。
是的,这是没有意义的,但这个模式使喊叫可以像法术一样使用,你需要一些方法来获得法术,而不是杀死龙。
在你的清单之外阅读这本书会给你一个特别的信息(第四墙打破类)。

若要在没有随机丢失的情况下获取这些文档,请使用控制台进行BaseID:
> 帮助“喊出咒语的秘密”

如果您发现了一个用于获取蜻蜓的无限使用的漏洞,则可以节省时间并使用控制台;)

是的,这是以前做过的,但我看到的只是直接使用冷却时间作为成本(即45秒=45 Magicka)。

但是我发现HMS呼喊这是我的第一个剧本,很有帮助。HMS叫喊采用了一个很好的呼喊成本系统。
    具体情况:
呼叫的Magicka成本使用(法术施放时)使用乘数的呼喊冷却时间。
如果Magicka的成本仅仅是冷却时间,那会使一些呼喊变得过于激烈(例如,使用3字的不松懈的力量只需45 Magicka)

如果冷却时间介于1-50倍成本=250%冷却时间
如果冷却时间介于51-100倍成本=150%冷却时间
如果冷却时间介于101-150?成本=125%冷却时间。
如果冷却时间介于151-250倍成本=100%冷却时间
如果冷却时间在每50秒内超过250倍,则从1到0.04可以得到乘数。

例如,3字的Storm Call是600秒((600/50=12)/25=0.48)=1-0.48=0.52*600成本=312 Magicka
公式:
冷却=c=成本=x
(1-(c/50)/25)*c=x

如果你有足够的Magicka Magicka-成本(100%)
如果你没有足够的马奇卡,但有足够的耐力,马奇卡-成本(50%)和耐力-成本(100%)
如果你没有足够的马格里卡,没有足够的耐力,马奇卡成本(100%)和耐力成本(100%)&你目前健康的一半。

安装:
没有什么特别的,安装有首选的mod管理器。
手动安装:
1.将“数据”文件夹解压缩到SkyRIM SE目录。默认蒸汽定位C:\程序文件(X86)\蒸汽\蒸汽\通用\Skyrim特别版
2.确保在发射器中启动ShoutCooldown Magicka.esp
    兼容性:
将与香草/dlc一起工作,并对使用超时冷却的高喊进行建模,就像香草叫声一样。
理想情况下没有问题
它不编辑任何普通资产,只将它们用于新的对象(例如,Namira的环形是戒指模型)
    臭虫:
请报告任何你发现的

供参考的脚本(PSC包括在下载中):

Scriptname aaaShoutCooldown Magicka扩展了ActiveMagicEffect
浮子特性多用途汽车
浮子特性磁悬浮自动
浮动属性冷却自动
浮动属性健康汽车
事件Oneffectstart(参与者akTarget,参与者akcaster)
冷却=akCaster.GetVoiceRecoveryTime()

;运行函数来计算多个
CalcMult()

磁成本=冷却*多用

如果有足够的话,伤害Magicka
if(akCaster.GetActorValue(“Magicka”)>=magfee)
DamageActorValue(“Magicka”)
调试器通知(“Magicka成本”+Magcore as int)

if(akCaster.GetVoiceRecoveryTime()>5)
表VoiceRecoveryTime(5)
其他
什么也不做
恩迪夫

没有魔法,但有耐力,成本=50%(魔法成本),100%(魔法成本)耐力
Elseif(akCaster.GetActorValue(“stestina”)>=magfee)
调试器。通知(“耐力成本”+以磁成本作为int)
调试器通知(“Magicka成本”+Magcore as int/2)
DamageActorValue(“耐力”,磁成本)
DamageActorValue(“Magicka”)

,将冷却时间设置为磁悬浮成本的25%。

etVoiceRecoveryTime(MAGCONCE AS INT/4)

没有魔法或耐力,成本=100%(魔法成本),100%(魔法成本)耐力

调试器。通知(“耐力成本”+以磁成本作为int)
调试器通知(“Magicka成本”+Magcore as int)
DamageActorValue(“耐力”,磁成本)
DamageActorValue(“Magicka”)

;伤害生命,杀不死
Health=akCaster.GetActorValue(“健康”)
akCaster.damageactorvalue(“健康”,Health/2)

,将冷却时间设置为磁悬浮成本的50%。
etVoiceRecoveryTime(Magkin as int/2)
恩迪夫
EndEvent
函数CalcMult()
;冷却1至50
如果(冷却时间<=50)
Mult=2.5
回归
恩迪夫
;冷却=51至100
如果(冷却时间<=100)
穆特=1.5
回归
恩迪夫
;冷却=101至150
如果(冷却时间<=150)
穆特=1.25
回归
Endif
;冷却=151至250
如果(冷却时间<=250)
穆特=1
回归
Endif
;冷却=251或以上
,每冷却50,-0.04从1得到骡子
如果(冷却>250)
穆特=1
浮子冷却/50
浮子divfmult=fmult/25
Mult=-divfmult
回归
恩迪夫
终函数
Scriptname aaaShoutMagickaCooldown环扩展ObjectReference
法术属性--动力汽车
权力=较小的权力,aaaaShoutMagickaCooldown权力
事件(演员)
如果akagent==game.GetPlayer()
游戏.GetPlayer().加法(电源)
恩迪夫
EndEvent
EventOnUnquired(演员)
如果akagent==game.GetPlayer()
游戏.GetPlayer().Removespell(电力)
恩迪夫
恩德温

Scriptname aaaShoutMagickaCooldown圣多美扩展ObjectReference
拼写属性MagickaShoutPower汽车
AaaaaShoutMagickaCooldown Power
图书财产-圣普汽车
AaaaShoutMagickaLesserPower圣多美(01,02)
事件导读(演员读取器)
书中的书是从库存中读取的。
参与者Player=game.getPlayer()
如果(读者!)
回归
恩迪夫
TomeEffect()
Operer.RemoveItem(圣多美,1,真)
EndEvent
事件OnActivate(ObjectReference读取器)
书里的书是从世界上读来的。
参与者Player=game.getPlayer()
if(Reader!=Player Series IsActivationBlock())
回归
恩迪夫
新闻信箱(“告诉我,安德森先生.如果你不会说话的话.如果你不会说话的话?从清单上读我的话.”)

话音恢复时间(10)
删除()
删除手册()
EndEvent
;未使用
函数删除簿()
Utilit.WaitMenuMode(3.0)
game.getPlayer().emovetem(圣多美,1,true)
删除()
功能
函数TomeEffect()
参与者Player=game.getPlayer()
法术(MagickaShoutPower)
Player.modav(“蜻蜓”,1)
调试器.MessageBox(“新知识被揭示,卷宗碎裂成灰烬”)
其他
(“在我第一次阅读的时候,新力量的知识就被揭示出来了。”)
加法术(MagickaShoutPower)
Player.modav(“蜻蜓”,1)
恩迪夫
回归
功能————————————————————————————————————————————————————————————————

Description:
This mod is best used for mages or generally magicka intensive character builds.

This mod adds a Lesser power which can be equipped in either hand, the spell will remove (almost, sets cooldown to 5 seconds, prevents spamming ;) ) the shout cooldown and reduce magicka instead.

The amount of magicka and/or stamina drained are displayed as notifications in the top left.
If you don't have enough magicka, less magicka is used but stamina will be drained by the full cost. 
Should you lack the magicka and stamina, they are both drained by the full cost, along with half of your current health (cannot kill). 
Should you wish to reduce the cost, you can wait for the timer to decrease naturally then cast the lesser power OR use enchantments/items to reduce shout cooldown time (e.g. Amulet of Talos)
    
Add the spell with console command > player.addspell 7e002849 | or to get BaseID > help "channel magicka shout"

There is a ring, when it is equipped it will give you the lesser power, when unequipped it will remove it.
Ring is located in a chest in High Hrothgar centre room.
> player.additem 7e0012c3 1 | or to get BaseID > help "channel magicka shout ring"

I also added a tome (the 2 variations are purely aesthetic) "Secrets of Shout Incantation" to the world which appear (level 10+) as random loot on necromancers in place of a spell tome (rarely) and in the necromancers boss loot chest at the end (common).
When you first read the tome it will give you the lesser power and 1 dragonsoul. Reading after first will just give a dragonsoul. 
Yes it doesn't make sense, but this mod makes shouts useable like spells, you need some way to gain spells other than killing dragons.
Reading the tome outside of your inventory will give a special message (4th wall break kind). 
    
To obtain the tomes without random loot drops use console for BaseIDs: 
> help "Secrets of Shout Incantation"

If you find an exploit for unlimited tome uses to get dragonsouls, save time and use the console ;) 

Yes this has been done before, but the ones I've seen just straight use the cooldown as the cost (i.e. 45 seconds = 45 magicka)

I did however find HMS shouts helpful as this is my first script. HMS shouts employs a good system for shout cost.
    Specifics:
        The magicka cost of the shout uses the (at time of spell cast) shout cooldown with a multiplier
        If the magicka cost was just the cooldown that would make some shouts very over-powered (e.g. unrelenting force with 3 words used would only cost 45          magicka)

        If cooldown is between 1-50 | cost = 250% cooldown
        If cooldown is between 51-100 | cost = 150% cooldown
        If cooldown is between 101-150 | cost = 125% cooldown
        If cooldown is between 151-250 | cost = 100% cooldown
        If cooldown is greater than 250 | for each 50 seconds in the cooldown -0.04 from 1 to get multiplier

        e.g. Storm call with 3 words is 600 seconds | ((600 / 50 = 12) / 25 = 0.48) | 1 - 0.48 = 0.52 * 600 | cost = 312 magicka
        formula:
        cooldown= c | cost = x
        (1 - ((c / 50) / 25)) * c = x

        If you HAVE enough magicka        Magicka - cost(100%)
        If you DO NOT have enough magicka but HAVE enough stamina      Magicka - cost(50%) && Stamina - cost(100%)
        If you DO NOT have enough magicka and DO NOT have enough staminaMagicka - cost(100%) && stamina - cost(100%) && half of your current health
    
    Installation:
        Nothing special, install with preferred mod manager
        Manual Installation:
        1. Extract 'Data' folder to Skyrim SE directory. Default Steam location C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition
        2. Ensure ShoutCooldownMagicka.esp is activated in launcher
    Compatibility:
        Will work with vanilla/DLC and modded shouts that use timed cooldown like vanilla shouts
        Should ideally be no problems 
        It does not edit any vanilla assets just uses them for new objects (Namira's Ring is the rings model for example)
    Bugs:
        Please report any you find

The scripts for reference (psc's included in download):

Scriptname aaaaShoutCooldownMagicka extends ActiveMagicEffect
float Property mult Auto  
float Property magcost Auto  
float Property cooldown Auto
float Property health  Auto  
Event Oneffectstart(actor aktarget, actor akcaster)
cooldown = akcaster.GetVoiceRecoveryTime()

;run function to calculate mult
CalcMult()

magcost = cooldown * mult

;damage magicka if have enough
if (akcaster.GetActorValue("magicka") >= magcost)
  akcaster.DamageActorValue("magicka", magcost)
  debug.Notification("Magicka Cost " + magcost as int)

  if (akcaster.GetVoiceRecoveryTime() > 5)
  akcaster.SetVoiceRecoveryTime(5)
          Else
;do nothing
         endif

;dont have magicka but have stamina, cost= 50%(magcost) magicka, 100%(magcost) stamina
Elseif (akcaster.GetActorValue("stamina") >= magcost)
  debug.Notification("Stamina Cost " + magcost as int)
  debug.Notification("Magicka Cost " + magcost as int / 2)
  akcaster.DamageActorValue("stamina", magcost)
  akcaster.DamageActorValue("magicka", magcost / 2)

  ;set cooldown time to 25% of magcost

  akcaster.SetVoiceRecoveryTime(magcost as int / 4)

;dont have magicka or stamina, cost= 100%(magcost) magicka, 100%(magcost) stamina
elseif (akcaster.GetActorValue("stamina") < magcost) && (akcaster.GetActorValue("magicka") < magcost)
  debug.Notification("Stamina Cost " + magcost as int)
  debug.Notification("Magicka Cost " + magcost as int)
  akcaster.DamageActorValue("stamina", magcost)
  akcaster.DamageActorValue("magicka", magcost)

  ;damage health, CANNOT KILL
  health = akcaster.GetActorValue("health")
  akcaster.damageactorvalue("health", health / 2)
  
  ;set cooldown time to 50% of magcost
  akcaster.SetVoiceRecoveryTime(magcost as int / 2)
endif
EndEvent
Function CalcMult()
;cooldown 1 to 50
if (cooldown <= 50)
  mult = 2.5
  return
endif
;cooldown = 51 to 100
if (cooldown <= 100)
  mult = 1.5
  return
endif
;cooldown = 101 to 150
If (cooldown <= 150)
  mult = 1.25
  return
EndIf
;cooldown = 151 to 250
If (cooldown <= 250)
  mult = 1
  return
EndIf
;cooldown = 251 or more
;for each 50 in cooldown, -0.04 from 1 to get mult
if (cooldown > 250)
  mult = 1
  float fmult = cooldown / 50
  float divfmult = fmult / 25
  mult = mult - divfmult
  return
endif
Endfunction
Scriptname aaaaShoutMagickaCooldownRing extends ObjectReference
            SPELL Property ThePower  Auto  
            ; ThePower = lesser power , aaaaShoutMagickaCooldownPower
            Event OnEquipped(Actor akactor)
                if akactor == game.GetPlayer()
                    game.GetPlayer().addspell(ThePower)
                endif
            EndEvent
            Event OnUnEquipped(Actor akactor)
                if akactor == game.GetPlayer()
                    game.GetPlayer().removespell(ThePower)
                endif
            Endevent

Scriptname aaaaShoutMagickaCooldownTome extends ObjectReference  
            SPELL Property MagickaShoutPower auto
            ;aaaaShoutMagickaCooldownPower
            Book Property Tome auto
            ;aaaaShoutMagickaLesserPowerTome(01,02)
            Event OnEquipped(Actor reader)
                ;incase book is read from inventory
                actor player = game.getplayer()
                if (reader != player)
                    return
                endif
                TomeEffect()
                player.removeitem(Tome, 1, true)
            EndEvent
            Event OnActivate(ObjectReference reader)
                ;incase book is read from world
                actor player = game.getplayer()
                if (reader != player || IsActivationBlocked())
                    return
                endif
                debug.MessageBox("Tell me, Mr. Anderson...what good is a shout...if you're unable to speak? Read me from Inventory")
                
                player.SetVoiceRecoveryTime(10)
                ;delete()
                ;deletebook()
            EndEvent
            ;not used
            Function deletebook()
                Utility.WaitMenuMode(3.0)
                game.getplayer().removeitem(Tome, 1, true)
                delete()
            EndFunction
            Function TomeEffect()
                actor player = game.getplayer()
                if (player.hasspell(MagickaShoutPower))
                    player.modav("dragonsouls", 1)
                    debug.MessageBox("New knowledge is revealed and the tome crumbles to ashes")
                Else
                    debug.MessageBox("Upon my first reading, knowledge of a new power is revealed. The tome crumbles to ashes")
                    player.addspell(MagickaShoutPower)
                    player.modav("dragonsouls", 1)
                endif
                return
            EndFunction

原贴地址
1.版本号: 1.0   更新时间: 2020-05-19 16:39:04

选择快速回复类型:
  • 感谢
  • 支持
  • 疑问
  • 卖萌
  • 关心
  • 傲娇
评论


    作者精品
    logo

    喊叫使用magicka-魔术师喊叫


    Mod大小:5.72KB
    上传时间:2020-05-19 16:27:57

    Mod简介:

    暂无更多介绍

    本地下载
    选择快速回复类型:
    • 感谢
    • 支持
    • 疑问
    • 卖萌
    • 关心
    • 傲娇
    回复

    closeAD